namespace APITransLib.Contracts;

public class AgentProfileDto
{
    public required string OwnerUserId { get; init; }
    public string Name { get; set; } = "MyAgent";
    public string Persona { get; set; } = "A helpful assistant.";
    public Dictionary<string, string> Settings { get; set; } = new();
    public int Level { get; set; } = 1; // pet-like progression
    public long Xp { get; set; } = 0;

    // 新增：评价属性
    public double ValueScore { get; set; } = 0;   // 创造价值
    public double HonorScore { get; set; } = 0;   // 荣誉
    public string SocialStatus { get; set; } = "Normal"; // 已评价的社会地位
}

public class UpdateAgentProfileRequest
{
    public string? Name { get; init; }
    public string? Persona { get; init; }
    public Dictionary<string, string>? Settings { get; init; }

    // 可选更新：评价属性
    public double? ValueScore { get; init; }
    public double? HonorScore { get; init; }
}

public class UpdateAgentProfileResponse
{
    public required AgentProfileDto Profile { get; init; }
}

public class AgentGenerateRequest
{
    public required string Prompt { get; init; }
    public int? MaxTokens { get; init; }
}

public class AgentGenerateResponse
{
    public required string Reply { get; init; }
}
